"""
设计模式是前人工作的总结和提炼，
通常被人们广泛流传的设计模式都是针对某一特定问题的成熟的解决方案

单例设计模式
目的：让类创建的对象在系统中只有一个对象
每一次执行类名（）返回的对象，内存地址都是相同的
"""


class MusicPlayer:
    instance = None

    def __new__(cls, *arg, **kwargs):
        """
        重写new方法
        :param arg:
        :param kwargs:
        """
        # 创建对象时，new方法会被自动调用
        print('创建对象，分配空间')
        if cls.instance is None:
            # 为对象分配空间
            cls.instance = super().__new__(cls)
            # print(id(instance))

            # 返回对象的引用


        return cls.instance

    def __init__(self):
        print('播放器初始化')


player = MusicPlayer()
print(id(player))
player1 = MusicPlayer()
print(id(player1))

